library(plotly)
source("/home/and/Documents/PhD/Research/Scripts/R/R13/tasksMetrics.R")
appsE1_1 = "/home/and/Documents/PhD/Research/Scripts/Misc/tmp/apps/app-0282_info.tsv"
appsE1_2 = "/home/and/Documents/PhD/Research/Scripts/Misc/tmp/apps/app-0284_info.tsv"
appsE1_3 = "/home/and/Documents/PhD/Research/Scripts/Misc/tmp/apps/app-0286_info.tsv"
stagesE1 = rbind(getStages(appsE1_1),getStages(appsE1_2),getStages(appsE1_3))
appsE3_1 = "/home/and/Documents/PhD/Research/Scripts/Misc/tmp/apps/app-0281_info.tsv"
appsE3_2 = "/home/and/Documents/PhD/Research/Scripts/Misc/tmp/apps/app-0283_info.tsv"
appsE3_3 = "/home/and/Documents/PhD/Research/Scripts/Misc/tmp/apps/app-0285_info.tsv"
stagesE3 = rbind(getStages(appsE3_1),getStages(appsE3_2),getStages(appsE3_3))
stages = rbind(stagesE1, stagesE3) %>% select(StageId, Stage, Executors, Duration) %>%
  mutate(Stage = paste(str_pad(StageId,5,"left"), Stage)) %>%
  select(Stage, Executors, Duration) %>%
  group_by(Stage, Executors) %>% summarise(Duration = mean(Duration))
head(stages)
p = ggplot(data = stages, aes(x = Stage, y = Duration, fill = Executors)) +
  geom_bar(stat="identity", position=position_dodge(width = 0.75), width = 0.7) + 
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
  labs(x="Stages", y="Duration(s)")
ggplotly(p)
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKYGBge3J9CmxpYnJhcnkocGxvdGx5KQpzb3VyY2UoIi9ob21lL2FuZC9Eb2N1bWVudHMvUGhEL1Jlc2VhcmNoL1NjcmlwdHMvUi9SMTMvdGFza3NNZXRyaWNzLlIiKQpgYGAKCmBgYHtyfQphcHBzRTFfMSA9ICIvaG9tZS9hbmQvRG9jdW1lbnRzL1BoRC9SZXNlYXJjaC9TY3JpcHRzL01pc2MvdG1wL2FwcHMvYXBwLTAyODJfaW5mby50c3YiCmFwcHNFMV8yID0gIi9ob21lL2FuZC9Eb2N1bWVudHMvUGhEL1Jlc2VhcmNoL1NjcmlwdHMvTWlzYy90bXAvYXBwcy9hcHAtMDI4NF9pbmZvLnRzdiIKYXBwc0UxXzMgPSAiL2hvbWUvYW5kL0RvY3VtZW50cy9QaEQvUmVzZWFyY2gvU2NyaXB0cy9NaXNjL3RtcC9hcHBzL2FwcC0wMjg2X2luZm8udHN2IgpzdGFnZXNFMSA9IHJiaW5kKGdldFN0YWdlcyhhcHBzRTFfMSksZ2V0U3RhZ2VzKGFwcHNFMV8yKSxnZXRTdGFnZXMoYXBwc0UxXzMpKQphcHBzRTNfMSA9ICIvaG9tZS9hbmQvRG9jdW1lbnRzL1BoRC9SZXNlYXJjaC9TY3JpcHRzL01pc2MvdG1wL2FwcHMvYXBwLTAyODFfaW5mby50c3YiCmFwcHNFM18yID0gIi9ob21lL2FuZC9Eb2N1bWVudHMvUGhEL1Jlc2VhcmNoL1NjcmlwdHMvTWlzYy90bXAvYXBwcy9hcHAtMDI4M19pbmZvLnRzdiIKYXBwc0UzXzMgPSAiL2hvbWUvYW5kL0RvY3VtZW50cy9QaEQvUmVzZWFyY2gvU2NyaXB0cy9NaXNjL3RtcC9hcHBzL2FwcC0wMjg1X2luZm8udHN2IgpzdGFnZXNFMyA9IHJiaW5kKGdldFN0YWdlcyhhcHBzRTNfMSksZ2V0U3RhZ2VzKGFwcHNFM18yKSxnZXRTdGFnZXMoYXBwc0UzXzMpKQoKc3RhZ2VzID0gcmJpbmQoc3RhZ2VzRTEsIHN0YWdlc0UzKSAlPiUgc2VsZWN0KFN0YWdlSWQsIFN0YWdlLCBFeGVjdXRvcnMsIER1cmF0aW9uKSAlPiUKICBtdXRhdGUoU3RhZ2UgPSBwYXN0ZShzdHJfcGFkKFN0YWdlSWQsNSwibGVmdCIpLCBTdGFnZSkpICU+JQogIHNlbGVjdChTdGFnZSwgRXhlY3V0b3JzLCBEdXJhdGlvbikgJT4lCiAgZ3JvdXBfYnkoU3RhZ2UsIEV4ZWN1dG9ycykgJT4lIHN1bW1hcmlzZShEdXJhdGlvbiA9IG1lYW4oRHVyYXRpb24pKQoKaGVhZChzdGFnZXMpCmBgYAoKYGBge3J9CnAgPSBnZ3Bsb3QoZGF0YSA9IHN0YWdlcywgYWVzKHggPSBTdGFnZSwgeSA9IER1cmF0aW9uLCBmaWxsID0gRXhlY3V0b3JzKSkgKwogIGdlb21fYmFyKHN0YXQ9ImlkZW50aXR5IiwgcG9zaXRpb249cG9zaXRpb25fZG9kZ2Uod2lkdGggPSAwLjc1KSwgd2lkdGggPSAwLjcpICsgCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSA5MCwgaGp1c3QgPSAxKSkgKwogIGxhYnMoeD0iU3RhZ2VzIiwgeT0iRHVyYXRpb24ocykiKQpnZ3Bsb3RseShwKQpgYGAKCg==